<?php
class Subcontrata_modelo extends CI_Model {
	
    var $nombreSub = '';
	var $descripcion = '';
	var $idPadre='';
	var $nivelSub='';
	var $principal='';

function __construct()
{
parent::__construct();


}


function insertar_subcontrata(){
	
	$estado=true;
	$this->nombreSub = $this->input->post('nombre');
	$this->descripcion = $this->input->post('descripcion');
	$this->principal=0;

	if($this->input->post('empresa')== NULL){
		
		
		
	$this->idPadre=0;
	$this->nivelSub=1;
	
	$this->db->insert('subcontrata',$this);
	
	return $estado;
	
	}else{ 
		
	$this->idPadre=$this->input->post('empresa');
	
	$idRecibido = $this->input->post('empresa');
	
	$query = $this->db->query('SELECT nivelSub from subcontrata where idSubcontrata='.$idRecibido.'');
    foreach($query->result() as $item) {   
	$nivelPadre= $item->nivelSub; 
    
    }
       
        
	 switch ($nivelPadre){
	 	
	 	case 1:
	 		$this->nivelSub=2;
	 		$this->db->insert('subcontrata',$this);
	 		return $estado;
	 		break;
	 		
	 	case 2:
	 		$this->nivelSub=3;
	 		$this->db->insert('subcontrata',$this);
	 		return $estado;
	 		break;
	 		
	 	case 3:
	 		
	 		$estado=false;
	 		return $estado;
	 		break;
	

	 }
	 	
}

}


function listado(){
	
	
	$query = $this->db->query('SELECT s.idSubcontrata, s.nombreSub, s.descripcion, s.idPadre, (

SELECT saux.nombreSub
FROM subcontrata saux
WHERE saux.idSubcontrata = s.idPadre
) AS nombrePadre, count(DISTINCT  t.idTrabajador ) AS numTrabajadores, count( DISTINCT sHijos.idSubcontrata ) AS numHijos
FROM trabajador t
RIGHT OUTER JOIN subcontrata s ON t.idSubcontrata = s.idSubcontrata, subcontrata sHijos
RIGHT OUTER JOIN subcontrata sPadre ON sHijos.idPadre = sPadre.idSubcontrata
WHERE sPadre.idSubcontrata = s.idSubcontrata
GROUP BY s.idSubcontrata');
	
	
        return $query->result(); 
        
}


function nombreEmpresa($idSub){
	
	$query=$this->db->where('idSubcontrata', $idSub);
	$query=$this->db->get('subcontrata');
	return $query->result(); 
}

function listado_hijos($idSub){
	$query = $this->db->query('SELECT s.idSubcontrata,s.nombreSub,s.descripcion,s.idPadre,count(t.idTrabajador) as numTrabajadores FROM trabajador t RIGHT OUTER JOIN subcontrata s ON t.idSubcontrata = s.idSubcontrata where idPadre='.$idSub.'
GROUP BY s.idSubcontrata');
        return $query->result(); 
	
	
}


function padre($idSub){
	$query = $this->db->query('SELECT (SELECT saux.nombreSub
FROM subcontrata saux
WHERE saux.idSubcontrata = s.idPadre) AS nombrePadre,(SELECT saux2.idSubcontrata
FROM subcontrata saux2
WHERE saux2.idSubcontrata = s.idPadre) AS idPadre FROM subcontrata s WHERE s.idSubcontrata='.$idSub.'');
        return $query->result(); 
	
	
}

function subcons(){
	$query=$this->db->get('subcontrata');
	return $query->result(); 
	
}




}